As should be appreciated, a computing device such as a personal computer employs power management techniques with respect to at least some of the components thereof so as to minimize power employed during the operation of such computing device. As may be appreciated, minimizing power use in connection with such computing device represents good practice, even when power use is not a particular concern, such as for example may be the case with a desktop computer operating on externally supplied utility power or the like. More importantly, minimizing power use in connection with such computing device may be critical when power use is in fact a particular concern, such as for example may be the case with a laptop computer operating on internally supplied battery power or the like.
Typically, power management in a computing device is applied to one or more components of the computing device that are especially high consumers of power, although power management may be applied to any component of the computing device. Examples of high power consumption components in a computing device include the processor, the storage device (hard drive, e.g.), and the display.
Especially with regard to the processor of a computing device, power management occurs in two forms. In the first form, and bearing in mind that the processor operates according to a clock having a set frequency, power is conserved by reducing the frequency of the clock. Presumably, although reducing the frequency increases actual processor usage in a roughly inverse manner, such actual processor usage is likely not very high at any particular time, and at any rate the frequency of the clock can be increased if the actual processor usage increases precipitously.
In the second form, and bearing in mind that the processor and/or a portion thereof can at times be essentially unused, especially during times of little or no computing device activity, power is conserved by idling at least the unused portion of the processor so as to stop executing. For example, if the processor is a multi-core processor, one or more of the cores may be idled. Likewise, if the processor includes specialized portions such as math portions, logic portions, security portions, cryptography portions, or the like, such specialized portions may be idled. Similarly, the entire processor may be idled, except perhaps for some core functionality such as an interrupt section that could receive an interrupt and based thereon reactivate the processor. In any such case, the idled at least a portion of the processor may be said to be ‘sleeping’ until reactivated for actual processing tasks.
As may be appreciated, as between frequency reduction and idling, frequency reduction results in relatively lesser power savings, while idling results in relatively greater power savings, at least on an instantaneous basis. Notably, both forms of power management may be employed together to reduce overall power consumption of the processor. In particular, during the course of operating the processor, power management is performed to adjust the frequency of the clock based on processor usage and/or other factors, and also to idle at least a portion of the processor whenever processor usage and/or other factors so allow. Particularly with regard to the idling, such idling is performed based on the occurrence of some predetermined idle detection metric. For example, such idle detection metric may be a predefined period of processor inactivity, such as a millisecond, a tenth of a second, or a second of inactivity, or the like.
However, and significantly, it is to be appreciated that as the frequency of the clock is reduced and the actual processor usage correspondingly increases, the likelihood that the processor or at least a portion thereof becomes inactive and can be idled is reduced. That is, as the frequency of the clock decreases, the actual processor usage correspondingly increases, and periods of processor inactivity typically become smaller, and likely less than the predetermined idle detection metric. As a result, although the relatively lesser power savings from frequency reduction are achieved, the relatively greater power savings from idling are not likewise achieved. Accordingly, a need exists for a method and mechanism by which the amount of idling of the processor can be increased so as to achieve the relatively greater power savings from idling. In particular, a need exists for a method and mechanism by which the idle detection metric can be scaled according to the frequency of the clock so as to increase the likelihood that the idle detection metric is met, the processor is thereby idled more often, and the relatively greater power savings from idling are likewise achieved more often.